<?php

    // +----------------------------------------------------------------------
    // | cms模块分类栏目控制器
    // +----------------------------------------------------------------------
    // | Copyright (c) 2015-2024 http://www.yicmf.com, All rights reserved.
    // +----------------------------------------------------------------------
    // | Author: 微尘 <yicmf@qq.com>
    // +----------------------------------------------------------------------

    namespace app\controller\cms;

    use think\Config;
    use app\model\cms\Category as CategoryModel;
    use think\Exception;
    use think\Log;

    class Category extends Common
    {

        /**
         * 分类栏目频道页
         * @return mixed|string
         * @author 微尘 <yicmf@qq.com>
         */
        public function index()
        {
            /* 分类信息 */
            $category = $this->category();
            // 频道页只显示模板，默认不读取任何内容
            // 内容可以通过模板标签自行定制
            /* 模板赋值并渲染模板 */
            $this->assign('category', $category);
            return $this->fetch($category['template_index']);
        }

        /**
         * 分类栏目列表页
         * @return mixed|string
         * @author 微尘 <yicmf@qq.com>
         */
        public function lists()
        {
            /* 分类信息 */
            $category = $this->category();
            //判断当前列表类型
            if (2 == $category['style']) {
                //单页;
                $this->error('分类错误');
            } else {
                /* 获取当前分类列表 */
                $categoryLists = CategoryModel::all(['pid' => $category['id'], 'status' => 1]);
                if ($categoryLists) {
                    /* 模板赋值并渲染模板 */
                    $this->assign('list', $categoryLists);
                }
                $this->assign('category', $category);
                return $this->fetch($category['template_lists']);
            }
        }

        /**
         * 单页
         * @return mixed|string
         * @author 微尘 <yicmf@qq.com>
         */
        public function page()
        {
            /* 分类信息 */
            $category = $this->category();
            // 频道页只显示模板，默认不读取任何内容
            // 内容可以通过模板标签自行定制
            /* 模板赋值并渲染模板 */
            $this->assign('category', $category);
            return $this->fetch($category['template_detail']);
        }

        /**
         * 增加当前分类阅读量返回当前阅读量.
         * @param integer $id
         * @return mixed
         * @author 微尘 <yicmf@qq.com>
         */
        public function view($id = 0)
        {
            // 设置状态
            Config::set('app_trace', false);
            if ($id) {
                try {
                    /* 更新浏览数 */
                    return CategoryModel::where('id', $id)->setInc('view', 1, 30);
                } catch (Exception $e) {
                    Log::record('增加分类阅读次数异常：' . $e->getMessage());
                    return $e->getMessage();
                }
            }
            return 'ok';
        }

        public function ajax()
        {
            $pid = $this->request->param('pid',0);
            $district = CategoryModel::where('pid',$pid)->where('status',1)->order('sort DESC')->select();

            if ($district) {
                $data[] = [0, '请选择分类'];
                foreach ($district as $city) {
                    $data[] = [$city['id'], $city['title']];
                }
            }
            return json($data);
        }
    }
